package com.bbva.kyfb.kyfbbofc;

import java.util.List;

import com.bbva.jee.arq.spring.core.gce.ExcepcionEjecucionAplicacion;
import com.bbva.kyfb.kyfbdto.firmas.bo.Auditoria;
import com.bbva.kyfb.kyfbdto.firmas.bo.FicheroConfeccion;
import com.bbva.kyfb.kyfbdto.firmas.bo.FicheroInfo;
import com.bbva.kyfb.kyfbdto.firmas.bo.UsuarioInfo;

/**
 * The Interface IFicherosBo.
 */
public interface IFicherosBo {

    /**
     * Gets the componentes confeccion referencia.
     *
     * @param file the file
     * @return the componentes confeccion referencia
     * @throws ExcepcionEjecucionAplicacion the excepcion ejecucion aplicacion
     */
    List<FicheroConfeccion> getComponentesConfeccionReferencia(FicheroInfo file) throws ExcepcionEjecucionAplicacion;

    /**
     * Gets the total componentes confeccion referencia.
     *
     * @param file the file
     * @return the total componentes confeccion referencia
     * @throws ExcepcionEjecucionAplicacion the excepcion ejecucion aplicacion
     */
    int getTotalComponentesConfeccionReferencia(FicheroInfo file) throws ExcepcionEjecucionAplicacion;
    /**
     * Delete componente confeccion.
     *
     * @param file the file
     * @param usuario the usuario
     * @throws ExcepcionEjecucionAplicacion the excepcion ejecucion aplicacion
     */
    void deleteComponenteConfeccion(FicheroInfo file, UsuarioInfo usuario) throws ExcepcionEjecucionAplicacion;
    /**
     * Gets the auditoria componente confeccion.
     *
     * @param file the file
     * @return the auditoria componente confeccion
     * @throws ExcepcionEjecucionAplicacion the excepcion ejecucion aplicacion
     */
    List<Auditoria> getAuditoriaComponenteConfeccion(FicheroInfo file) throws ExcepcionEjecucionAplicacion;
}
